package proxy_pattern.dynamic.forum;

/**
 * @author 申书航
 * @version 1.0
 *
 * 此接口定义了用户访问功能的相关方法。
 */
public interface VisitFunction {

    /**
     * 注册新的用户
     *
     * @param user 要注册的用户
     * @return 返回注册是否成功
     */
    boolean register(User user);

    /**
     * 修改用户信息
     *
     * @param user 要修改的用户
     */
    void modifyUser(User user);

    /**
     * 发布用户的帖子
     *
     * @param user 发布帖子的用户
     * @param post 要发布的帖子
     */
    void publishPost(User user, Post post);

    /**
     * 修改用户发布的帖子
     *
     * @param user 修改帖子的用户
     * @param post 要修改的帖子
     */
    void modifyPost(User user, Post post);

    /**
     * 查看帖子的详细信息
     *
     * @param user 查看帖子的用户
     * @param post 要查看的帖子
     */
    void viewPost(User user, Post post);
}

